package com.fatec.lojavirtual.managedbean;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;

import com.fatec.lojavirtual.entidade.Categoria;
import com.fatec.lojavirtual.entidade.Produto;

@ManagedBean
@RequestScoped
public class ProdutoBean {
	
	private Produto produtoAtual;
	private List<Produto> produtos; 
	
	public ProdutoBean(){
		this.produtoAtual = new Produto();
//		this.setProdutos(new ArrayList<Produto>());
	}

	public String novaCategoria(){
		return "categoria";
	}
	
	public void inserir(){
		ProdutoRN produtoRN = new ProdutoRN();
		FacesMessage msg;
		long aux;
		
		if ((aux = produtoAtual.getId()) == 0)
		{
			produtoRN.inserir(produtoAtual);			
			msg = new FacesMessage("Produto cadastrado com sucesso!");			
		}
		else
		{
			produtoRN.atualizar(produtoAtual);			
			msg = new FacesMessage("Produto atualizado com sucesso!");
		}
		
		this.setProdutoAtual(new Produto());
		
		FacesContext context = FacesContext.getCurrentInstance();
		context.addMessage(null, msg);
	}
	
	public void remover(Produto p){
		ProdutoRN produtoRN = new ProdutoRN();
		produtoRN.remover(p);
	}
	
	public void editar(Produto p){
			this.setProdutoAtual(p);
	}
	
	public void cancelar(){
		this.setProdutoAtual(new Produto());
	}
	
	public Produto getProdutoAtual() {
		return produtoAtual;
	}

	public void setProdutoAtual(Produto produtoAtual) {
		this.produtoAtual = produtoAtual;
	}

	public List<Produto> getProdutos() {
		ProdutoRN produtoRN = new ProdutoRN();
		this.produtos = produtoRN.pesquisar();
		return this.produtos;
	}

	public void setProdutos(List<Produto> produtos) {
		this.produtos = produtos;
	}
}